/**
 * 通过hashmap实现统计字符串数组中某个字符串出现的次数的方法
 */
import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;


public class AAA {


    public static void main(String[] args) {
        String [] strs={"zhangsan","lisi","zhangsan","wangwu","lisi","zhaoliu"};
        AccountUtil.printData(AccountUtil.account(strs));
    }


}


class AccountUtil{
    public static Map<String , Integer>account(String [] strs) {
//产生一个容器
        Map<String , Integer>data=new HashMap<String ,Integer>();
        for (int i = 0; i < strs.length; i++) {//通过下标来取出字符串中的一个个元素
            String str=strs[i];//先把第一个字符串取出来
//判断一下hashmap中的key有没有，如果没有则收录 hashmap中
            if (data.get(str)==null) {//第一次统计到字符串
                data.put(str, 1);//把这个字符串作为键，值为第一次收入
            }else {
//取出key所对应的值加一
                data.put(str, (data.get(str)+1));//累加
            }
        }
        return data;//最终返回hashmap里面的值

    }
    //打印一下hashmap中的数据
    public static void  printData(Map<String , Integer>data) {
        Set<Entry<String, Integer>> entrys=data.entrySet();
        for (Entry<String, Integer> entry : entrys) {//通过增强for循环遍历输出
            System.out.println(entry.getKey()+"出现的次数为"+entry.getValue());
        }
    }
}